package util

import (
	"fmt"
	"math/rand"
	"time"
)

const YYYY_MM_DD = "20060102"

func NextId() string {
	// 获取当前年月日
	date := time.Now().Format(YYYY_MM_DD)
	// 获取时间戳后6位
	timeMillis := time.Now().UnixNano() / 1e6
	fiveNumber := fmt.Sprintf("%06d", timeMillis%1000000)
	// 生成随机数后4位
	number := fmt.Sprintf("%04d", rand.Intn(10000))
	// 生成18位随机时间戳数字
	return date + fiveNumber + number
}
